リソースデータ
ヘッダーのリソースコレクションは、3MXBファイルに含まれるノードセット全体の定義を完成するために必要なすべてのリソースを記述します。各リソースのデータは次のように構成されています。
リソースIDは、ノードとリソースを結び付ける役割を果たします。たとえば、IDを使用して、幾何形状を正しいノードに関連付けたり、幾何形状を対応するテクスチャにリンクしたりすることができます。
リソースには次の4つのタイプがあります。
- textureBuffer。これはテクスチャが3MXBファイルに含まれているものです。
- geometryBuffer。これは3MXBファイル内のバイナリバッファでメッシュを記述するものです。
- textureFile。これはテクスチャが外部ファイルに含まれているものです。
- geometryFile。これはメッシュが外部ファイルに含まれているものです。
バッファタイプの場合、バイナリデータはヘッダーの後のバッファーオブジェクトの1つに含まれています。バッファの相対順序は、リソースコレクションとバッファコレクションで一致します。
- textureBuffer
テクスチャバッファのJSONデータは次のように構成されています。
{ "type":"textureBuffer", "id": "tex0", "format": "jpg", "size":1513, }
"id"は、ファイル内で一意にテクスチャを識別します。ただし、このIDはツリー構造全体で一意ではありません。
"format"タグは、テクスチャ画像のタイプを示します。テクスチャバッファ内の画像は、3MXBファイル内のバイナリバッファに保存されています。バイナリデータのサイズは、"size"の値で示されます。
- geometryBuffer
幾何形状バッファのメタデータは次のとおりです。
{ "type":"geometryBuffer", "id": "geometry1", "format": "ctm", "size":835, "bbMin": [-1243.69,-314.572,52.6138], "bbMax": [1243.69,314.572,52.6138], "texture": "tex0" }
"id"は、ファイル内で一意に幾何形状を識別します。ただし、このIDはツリー構造全体で一意ではありません。
"texture"タグはオプションであり、幾何形状がテクスチャである場合のみ存在します。この場合、テクスチャはIDで識別されます。上の例では、幾何形状は「テクスチャバッファ」のセクションで定義された"tex0"テクスチャを使用しています。
"bbMin"と"bbMax"の値は、幾何形状の境界ボックスを、ノードデータの場合と同じ方法で記述します。
- textureFile
テクスチャファイルのJSON記述はテクスチャバッファとよく似ていますが、バッファのサイズの代わりに、画像を含む外部ファイルのパスが指定されます。
{ "type":"textureFile", "format": "jpg", "id": "tex1", "file": "subfolder/SomeTexture.jpg", }
- geometryFile
テクスチャファイルと同様、幾何形状ファイルのJSONには、"file"タグが含まれます。これは外部の幾何形状ファイルを指します。
{ "type":"geometryFile", "format": "obj", "id": "geometry1", "file": "subfolder/SomeMesh.obj", "texture": "tex1" }